package com.pds.web.company.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pds.web.company.domain.PdsCompanyDTO;
import com.pds.web.company.domain.PdsCompanyInfo;

import java.util.List;
import java.util.Map;

public interface IPdsCompanyInfoService extends IService<PdsCompanyInfo> {

    /**
     * 新增
     *
     * @param pdsCompanyInfo
     * @return
     */
    Boolean addInfo(PdsCompanyInfo pdsCompanyInfo);

    /**
     * 更新 -- 系统管理员
     *
     * @param pdsCompanyInfo
     */
    Boolean updateInfoBySysAdmin(PdsCompanyInfo pdsCompanyInfo);

    /**
     * 更新 -- 企业管理员
     *
     * @param pdsCompanyInfo
     */
    Boolean updateInfoByCompanyAdmin(PdsCompanyInfo pdsCompanyInfo);

    /**
     * 查询企业列表
     *
     * @param pdsCompanyInfo
     * @return
     */
    List<PdsCompanyInfo> getCompanyList(PdsCompanyInfo pdsCompanyInfo);

    /**
     * 查询企业详细信息
     *
     * @param id 企业ID
     * @return
     */
    PdsCompanyInfo getInfoById(Long id);

    /**
     * 禁用企业
     *
     * @param pdsCompanyDTO
     * @return
     */
    Boolean disableInfo(PdsCompanyDTO pdsCompanyDTO);

    /**
     * 禁用、启用企业
     * @param id
     * @param status
     */
    void updateStatus(Long id, String status);

    /**
     * 批量导入企业
     * @param list 企业信息
     * @param map 排污许可证id，key为excel中行-列号
     */
    void batchInsert(List<PdsCompanyInfo> list, Map map) throws Exception;
}
